def main():
import sys
input = sys.stdin.read
data = input().split()
idx = 0
tt = int(data[idx])
idx += 1
results = []
for _ in range(tt):
n = int(data[idx])
k = int(data[idx + 1])
idx += 2
v = list(map(int, data[idx:idx + n]))
idx += n
v.sort()
small = v[0]
ind = -1
for i in range(1, n):
x = (v[i] - v[i - 1]) * i
if x > k:
break
else:
k -= x
small = v[i]
ind = i
if ind == -1:
results.append(str((small + k) * n))
continue
num = ind + 1
small += k // num
num -= k % num
result = (n - num) * small + small + (num - 1) * (small - 1)
results.append(str(result))
sys.stdout.write("\n".join(results) + "\n")
if __name__ == "__main__":
main()
1213A - Chips Moving | 490A - Team Olympiad |
233A - Perfect Permutation | 1360A - Minimal Square |
467A - George and Accommodation | 893C - Rumor |
227B - Effective Approach | 1534B - Histogram Ugliness |
1611B - Team Composition Programmers and Mathematicians | 110A - Nearly Lucky Number |
1220B - Multiplication Table | 1644A - Doors and Keys |
1644B - Anti-Fibonacci Permutation | 1610A - Anti Light's Cell Guessing |
349B - Color the Fence | 144A - Arrival of the General |
1106A - Lunar New Year and Cross Counting | 58A - Chat room |
230A - Dragons | 200B - Drinks |
13A - Numbers | 129A - Cookies |
1367B - Even Array | 136A - Presents |
1450A - Avoid Trygub | 327A - Flipping Game |
411A - Password Check | 1520C - Not Adjacent Matrix |
1538B - Friends and Candies | 580A - Kefa and First Steps |